﻿#include "widget.h"
#include "ui_widget.h"
#include <QPixmap>
#include <QPainter>
#include <QImage>
#include <QPicture>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    /*ui->setupUi(this);

    // Pixmap绘图设备  专门为平台做了显示的优化
    QPixmap pix(300,300);

    // 设置填充颜色
    pix.fill(Qt::white);

    // 声明画家
    QPainter painter(&pix);

    painter.setPen(QPen(Qt::green));
    painter.drawEllipse(QPoint(150,150),100,100);

    // 保存
    pix.save("F:\\pix.png");*/

    /*// 可以对像素进行访问
    QImage img(300,300,QImage::Format_RGB32);

    img.fill(Qt::white);

    QPainter painter(&img);
    painter.setPen(QPen(Qt::blue));
    painter.drawEllipse(QPoint(150,150),100,100);

    // 保存
    img.save("F:\\img.png");*/


    /*// QPicture绘图设备，可以记录和重现绘图指令
    QPicture pic;
    QPainter painter;
    // 开始往pic上绘制
    painter.begin(&pic);

    painter.setPen(QPen(Qt::cyan));
    painter.drawEllipse(QPoint(150,150),100,100);

    // 结束绘制
    painter.end();

    // 保存到磁盘
    pic.save("F:\\pic.zt");*/



}

Widget::~Widget()
{
    delete ui;
}

void Widget::paintEvent(QPaintEvent *event)
{
    // 重现QPicture绘图指令
    QPainter painter(this);
    QPicture pic;
    pic.load("F:\\pic.zt");
    painter.drawPicture(0,0,pic);
}
